home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Skunkware 5
/
Skunkware 5.iso
/
src
/
X11
/
Fresco
/
build
/
Unix
/
config
/
cf
/
Win32.rules
< prev
next >
Wrap
Text File
|
1995-07-12
|
16KB
|
531 lines
XCOMM platform: $XConsortium: Win32.rules,v 1.40 94/03/28 17:11:24 matt Exp $
#define HasSharedLibraries YES
#define NeedLibInsideFlag YES
#define SharedLibXaw NO
#define SharedLibXmu NO
#define SharedLibXt NO
#define SharedDataSeparation NO
#define SharedCodeDef /**/
#define SharedLibraryDef /**/
#define ShLibIncludeFile <WinLib.tmpl>
#define SharedLibraryLoadFlags -dll
#define PositionIndependentCFlags /**/
.c.obj:
$(CC) -c $*.c @<<
$(CFLAGS)
<<
#if HasCplusplus
.CCsuf.obj:
$(CXX) -c $*.CCsuf @<<
$(CXXFLAGS)
<<
#endif
#define ProgramTargetName(target)target.exe
#define RunProgram(progvar,options) $(progvar:/=\) options
#define RemoveFile(file) if exist file $(RM) file
#define RemoveFiles(files) @$(MAKE) $(MFLAGS) -f << @@\
.SUFFIXES: @@\
@@\
all: files @@\
!for %%i in ( Avoid.Error $$** ) do if exist %%i $(RM) %%i @@\
@@\
Avoid.Error files: @@\
<<
#define MakeDir(dir) -$(MKDIRHIER) dir
#define ObjectCompile(options) RemoveFile($@) @@\
$(CC) -c $*.c @<< @@\
$(CFLAGS) options @@\
<<
#define LibObjCompile(dir,options) RemoveFiles($@ dir\$@) @@\
$(CC) -c $*.c @<< @@\
$(CCOPTIONS) $(ALLDEFINES) options @@\
<< @@\
$(MV) $@ dir\$@
#define BuildIncludesTop(srclist,dstsubdir,dstupdir) @@\
includes:: @@\
MakeDir($(BUILDINCDIR:/=\)) @@\
@$(MAKE) $(MFLAGS) -f << @@\
.SUFFIXES: @@\
@@\
all: srclist @@\
cd $(BUILDINCDIR:/=\) @@\
!RemoveFile($$**) @@\
!$(LN) $(BUILDINCTOP:/=\)\$(CURRENT_DIR:/=\)\$$** . @@\
@@\
Avoid.Error srclist: @@\
<<
#define BuildIncludes(srclist,dstsubdir,dstupdir) @@\
XVARdef0 = $(BUILDINCDIR)/dstsubdir @@\
XVARdef1 = $(BUILDINCTOP)/dstupdir/$(CURRENT_DIR) @@\
@@\
includes:: @@\
MakeDir($(XVARuse0:/=\)) @@\
@$(MAKE) $(MFLAGS) -f << @@\
.SUFFIXES: @@\
@@\
all: srclist @@\
cd $(XVARuse0:/=\) @@\
!RemoveFile($$**) @@\
!$(LN) $(XVARuse1:/=\)\$$** . @@\
@@\
Avoid.Error srclist: @@\
<<
#define LinkFileList(step,list,dir,sub) @@\
XVARdef0 = dir @@\
XVARdef1 = sub @@\
XVARdef2 = list @@\
@@\
step:: $(XVARuse2:/=\) @@\
cd $(XVARuse0:/=\) @@\
!RemoveFile($**) @@\
!$(LN) $(XVARuse1:/=\)\$** .
#define LinkRule(program,options,objects,libraries) \
$(CCLINK) Concat(-Fe,program) options objects libraries $(EXTRA_LOAD_FLAGS)
#define NormalProgramTarget(program,objects,deplibs,locallibs,syslibs) @@\
XVARdef0 = objects @@\
@@\
ProgramTargetName(program): $(XVARuse0:.o=.obj) deplibs @@\
RemoveTargetProgram($@) @@\
LinkRule($@,$(LDOPTIONS),$(XVARuse0:.o=.obj),locallibs $(LDLIBS) syslibs) @@\
@@\
clean:: @@\
RemoveFile(ProgramTargetName(program))
#define ProgramTargetHelper(program,srcs,objs,deplib,locallib,syslib) @@\
ProgramTargetName(program): $(objs:.o=.obj) $(deplib) @@\
RemoveTargetProgram($@) @@\
LinkRule($@,$(LDOPTIONS),$(objs:.o=.obj),locallib $(LDLIBS) syslib) @@\
@@\
InstallProgram(program,$(BINDIR)) @@\
InstallManPage(program,$(MANDIR))
#define ComplexProgramTarget(program) @@\
PROGRAM = ProgramTargetName(program) @@\
@@\
AllTarget(ProgramTargetName(program)) @@\
@@\
ProgramTargetHelper(program,SRCS,OBJS,DEPLIBS,$(LOCAL_LIBRARIES),NullParameter) @@\
@@\
DependTarget() @@\
LintTarget() @@\
@@\
clean:: @@\
RemoveFile($(PROGRAM))
#define ComplexProgramTarget_1(program,locallib,syslib) @@\
OBJS = $(OBJS1) $(OBJS2) $(OBJS3) @@\
SRCS = $(SRCS1) $(SRCS2) $(SRCS3) @@\
PROGRAM1 = ProgramTargetName(program) @@\
@@\
AllTarget($(PROGRAM1) $(PROGRAM2) $(PROGRAM3)) @@\
@@\
ProgramTargetHelper(program,SRCS1,OBJS1,DEPLIBS1,locallib,syslib) @@\
@@\
DependTarget() @@\
LintTarget() @@\
@@\
clean:: @@\
for %%i in ($(PROGRAMS)) do $(RM) ProgramTargetName(%%i)
#define ComplexProgramTarget_2(program,locallib,syslib) @@\
PROGRAM2 = ProgramTargetName(program) @@\
@@\
ProgramTargetHelper(program,SRCS2,OBJS2,DEPLIBS2,locallib,syslib)
#define ComplexProgramTarget_3(program,locallib,syslib) @@\
PROGRAM3 = ProgramTargetName(program) @@\
@@\
ProgramTargetHelper(program,SRCS3,OBJS3,DEPLIBS3,locallib,syslib)
#define MoveToBakFile(file) -@if exist file $(MV) file file.bak
#define RMoveToBakFile(file) -RemoveFile(file.bak) @@\
-@if exist file $(MV) file file.bak
#define InstallMultipleDestFlags(step,list,dest,flags) @@\
XVARdef0 = $(DESTDIR)dest @@\
@@\
step:: list @@\
MakeDir($(XVARuse0:/=\)) @@\
!$(INSTALL) $(INSTALLFLAGS) flags $** $(XVARuse0:/=\)
#define CleanTarget() @@\
clean:: @@\
RemoveFiles(FilesToClean ExtraFilesToClean)
#define LibraryTargetName(libname)libname.lib
#define LibraryTargetNameSuffix(libname,suffix)Concat(libname,suffix.lib)
#define MakeLibrary(libname,objlist) $(AR) @<< @@\
-out:libname objlist @@\
<<
#define LinkSourceFile(src,dir) @@\
XVARdef0 = dir/src @@\
@@\
src: $(XVARuse0:/=\) @@\
RemoveFile($@) @@\
$(LN) $? $@ @@\
@@\
includes:: src @@\
@@\
depends:: src @@\
@@\
clean:: @@\
RemoveFile(src)
#define LinkFile(tofile,fromfile) @@\
XVARdef0 = fromfile @@\
tofile:: $(XVARuse0:/=\) @@\
RemoveFile($@) @@\
$(LN) $? $@ @@\
@@\
includes:: tofile @@\
@@\
depend:: tofile @@\
@@\
clean:: @@\
RemoveFile(tofile)
#define NormalLibraryTarget(libname,objlist) @@\
AllTarget(LibraryTargetName(libname)) @@\
@@\
XVARdef0 = objlist @@\
@@\
LibraryTargetName(libname): $(XVARuse0:.o=.obj) @@\
RemoveFile($@) @@\
MakeLibrary($@,$(XVARuse0:.o=.obj))
#define NormalLibraryTarget2(libname,objlist1,objlist2) @@\
NormalLibraryTarget(libname,objlist1 objlist2)
#define NormalLibraryTarget3(libname,objlist1,objlist2,objlist3) @@\
NormalLibraryTarget(libname,objlist1 objlist2 objlist3)
#define NormalDepLibraryTarget(libname,deplist,objlist) @@\
AllTarget(LibraryTargetName(libname)) @@\
@@\
XVARdef0 = deplist @@\
XVARdef1 = objlist @@\
XVARdef2 = $(XVARuse1:/=\) @@\
@@\
LibraryTargetName(libname): $(XVARuse0:/=\) @@\
RemoveFile($@) @@\
MakeLibrary($@,$(XVARuse2:.o=.obj))
#define ProfiledLibraryTarget(libname,objlist) @@\
AllTarget(LibraryTargetNameSuffix(libname,_p)) @@\
@@\
XVARdef0 = objlist @@\
@@\
LibraryTargetNameSuffix(libname,_p): $(XVARuse0:.o=.obj) @@\
RemoveFile($@) @@\
cd profiled @@\
MakeLibrary(..\$@,$(XVARuse0:.o=.obj)) @@\
cd ..
#define DebuggedLibraryTarget(libname,objlist) @@\
AllTarget(LibraryTargetNameSuffix(libname,_d)) @@\
@@\
XVARdef0 = objlist @@\
@@\
LibraryTargetNameSuffix(libname,_d): $(XVARuse0:.o=.obj) @@\
RemoveFile($@) @@\
cd debugger @@\
MakeLibrary(..\$@,$(XVARuse0:.o=.obj)) @@\
cd ..
#ifndef UseInstalled
#define ImakeDependency(target) @@\
target:: ProgramTargetName($(IMAKE)) @@\
@@\
ProgramTargetName($(IMAKE)): @@\
<<tmp.bat @@\
cd $(IMAKESRC:/=\) @@\
if exist Makefile $(MAKE) all @@\
if not exist Makefile $(MAKE) -f Makefile.ini BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)" @@\
<<
#endif
#ifndef UseInstalled
#define DependDependency() @@\
depend:: ProgramTargetName($(DEPEND)) @@\
@@\
ProgramTargetName($(DEPEND)): @@\
<<tmp.bat @@\
cd $(DEPENDSRC:/=\) @@\
$(MAKE) @@\
<<
#endif
#define DependTarget() @@\
DependDependency() @@\
@@\
depend:: @@\
$(DEPEND:/=\) @<< @@\
$(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS) @@\
<<
#define DependTarget3(srcs1,srcs2,srcs3) @@\
DependDependency() @@\
@@\
depend:: @@\
$(DEPEND:/=\) @<< @@\
$(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs1 srcs2 srcs3 @@\
<<
#define ForceSubdirs(dirs) @@\
Avoid.Error dirs: FRC @@\
@cd $@ @@\
@echo making all in $(CURRENT_DIR)/$@... @@\
$(MAKE) $(MFLAGS) PassCDebugFlags all @@\
cd .. @@\
@@\
FRC:
#define MakeMakeSubdirs(dirs,target) @@\
target:: @@\
for %%d in ( dirs ) do \
cd %%d && \
( RemoveFile(Makefile.bak) ) & \
$(MV) Makefile Makefile.bak & \
( ImakeSubCmdHelper -DTOPDIR=../$(TOP) -DCURDIR=$(CURRENT_DIR)/%%d ) & \
( $(MAKE) $(MFLAGS) Makefiles ) & \
cd ..
#ifdef NEVER
RMoveToBakFile(Makefile) &
ImakeSubCmdHelper -DTOPDIR=../$(TOP) -DCURDIR=$(CURRENT_DIR)/%%d
$(MAKE) $(MFLAGS) Makefiles &
#endif
#define oldMakeMakeSubdirs(dirs,target) @@\
XVARdef0 = dirs @@\
XVARdef1 = $$ @@\
@@\
target:: @@\
@$(MAKE) $(MFLAGS) -f << @@\
.SUFFIXES: @@\
@@\
all: $(XVARuse0:/=\) @@\
@@\
Avoid.Error $(XVARuse0:/=\): @@\
cd $(XVARuse1)@ @@\
RMoveToBakFile(Makefile) @@\
ImakeSubCmdHelper -DTOPDIR=../$(TOP) -DCURDIR=$(CURRENT_DIR)/$(XVARuse1)@ @@\
$(MAKE) $(MFLAGS) Makefiles @@\
cd .. @@\
<<
#ifdef UseInstalled
#define ImakeSubCmdHelper $(IMAKE_CMD)
#else
#define ImakeSubCmdHelper ..\$(IMAKE) -I../$(IRULESRC) $(IMAKE_DEFINES)
#endif
#define NamedTargetSubdirs(name,dirs,verb,flags,subname) @@\
name:: @@\
for %%d in ( dirs ) do \
cd %%d && \
( $(MAKE) $(MFLAGS) flags subname ) & \
cd ..
#define oldNamedTargetSubdirs(name,dirs,verb,flags,subname) @@\
XVARdef0 = dirs @@\
XVARdef1 = $$ @@\
@@\
name:: @@\
@$(MAKE) $(MFLAGS) -f << @@\
.SUFFIXES: @@\
@@\
all: $(XVARuse0:/=\) @@\
@@\
Avoid.Error $(XVARuse0:/=\): @@\
cd $(XVARuse1)@ @@\
@echo verb in $(CURRENT_DIR)/$(XVARuse1)@... @@\
$(MAKE) $(MFLAGS) flags subname @@\
cd .. @@\
<<
#define UnsharedLibReferences(varname,libname,libsource) @@\
Concat3(DEP,varname,LIB) = _UseCat($(USRLIBDIR)/,libsource/,libname.lib) @@\
Concat(varname,LIB) = LoaderLibPrefix _Use(libname.lib,$(Concat3(DEP,varname,LIB))) @@\
LintLibReferences(varname,libname,libsource)
#define SharedLibReferences(varname,libname,libsource,revname,rev) @@\
revname = rev @@\
UnsharedLibReferences(varname,libname,libsource)
#define SubdirLibraryRule(objlist) @@\
XVARdef0 = objlist @@\
@@\
all:: DONE @@\
@@\
DONE: $(XVARuse0:.o=.obj) @@\
RemoveFile($@) @@\
echo - > $@ @@\
@@\
clean:: @@\
RemoveFile(DONE)
#define CppScriptTarget(dst,src,defs,deplist) @@\
dst:: @@\
@echo sorry, unable to make $@
#define CppFileTarget(dst,src,defs,deplist) @@\
XFAKEVAR = X @@\
dst:: src deplist @@\
RemoveFile($@) @@\
$(PREPROCESSCMD) -I. <<CppTmpFile.c @<< >$@ @@\
XCOMM define $(XFAKEVAR)COMM XCOMM @@\
XCOMM include <src> @@\
<< @@\
defs @@\
<< @@\
@@\
clean:: @@\
RemoveFiles(dst)
#define InstallNamedTarget(step,srcname,flags,dest,dstname) @@\
XVARdef0 = $(DESTDIR)dest/ @@\
@@\
step:: srcname @@\
MakeDir($(XVARuse0:/=\)) @@\
$(INSTALL) $(INSTALLFLAGS) flags srcname $(XVARuse0:/=\)dstname
#define InstallLibrary(libname,dest) @@\
InstallTarget(install,LibraryTargetName(libname),$(INSTLIBFLAGS),dest)
#define InstallScript(program,dest) /**/
#define InstallNamedProg(srcname,dstname,dest) @@\
install:: srcname @@\
@echo sorry, unable to make srcname
#define InstallSharedLibrary(libname,rev,dest) @@\
InstallTarget(install,LibraryTargetName(libname),$(INSTLIBFLAGS),$(USRLIBDIR)) @@\
InstallTarget(install,libname.dll,$(INSTLIBFLAGS),dest)
#define InstallSharedLibraryData(libname,rev,dest)
#define MakeDLL(libname,solist) $(LD) @<< @@\
SharedLibraryLoadFlags -out:libname.dll libname.exp solist @@\
<<
#define SharedCplusplusLibraryTarget(libname,rev,solist,down,up,need_libs) @@\
AllTarget(libname.dll) @@\
@@\
CppFileTarget(libname.def,libname-def.cpp,-DLIBRARY_VERSION=rev,$(ICONFIGFILES)) @@\
@@\
XVARdef0 = solist @@\
@@\
LibraryTargetName(libname): $(XVARuse0:.o=.obj) libname.def @@\
RemoveFile($@) @@\
MakeLibrary($@,-def:libname.def $(XVARuse0:.o=.obj)) @@\
RemoveFile(libname.dll) @@\
MakeDLL(libname,$(XVARuse0:.o=.obj) need_libs $(EXTRA_LIBRARIES)) @@\
@@\
libname.dll: LibraryTargetName(libname) @@\
RemoveFile(libname.dll) @@\
MakeDLL(libname,$(XVARuse0:.o=.obj) need_libs $(EXTRA_LIBRARIES)) @@\
@@\
clean:: @@\
RemoveFile(LibraryTargetName(libname)) @@\
RemoveFile(libname.dll)
#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
AllTarget(libname.dll) @@\
@@\
CppFileTarget(libname.def,libname-def.cpp,-DLIBRARY_VERSION=rev,$(ICONFIGFILES)) @@\
@@\
XVARdef0 = solist @@\
@@\
LibraryTargetName(libname): $(XVARuse0:.o=.obj) libname.def @@\
RemoveFile($@) @@\
MakeLibrary($@,-def:libname.def $(XVARuse0:.o=.obj)) @@\
RemoveFile(libname.dll) @@\
MakeDLL(libname,$(XVARuse0:.o=.obj) $(REQUIREDLIBS) $(EXTRA_LIBRARIES)) @@\
@@\
libname.dll: LibraryTargetName(libname) @@\
RemoveFile(libname.dll) @@\
MakeDLL(libname,$(XVARuse0:.o=.obj) $(REQUIREDLIBS) $(EXTRA_LIBRARIES)) @@\
@@\
clean:: @@\
RemoveFile(LibraryTargetName(libname)) @@\
RemoveFile(libname.dll)
#define SharedLibraryDataTarget(libname,rev,salist)
#define ObjectCplusplusCompile(options) RemoveFile($@) @@\
$(CXX) -c $*.CCsuf @<< @@\
$(CXXFLAGS) options @@\
<<
#define CplusplusLinkRule LinkRule
#define CplusplusProgramTargetHelper ProgramTargetHelper
#ifndef ComplexCplusplusProgramTarget
#define ComplexCplusplusProgramTarget(program) @@\
PROGRAM = ProgramTargetName(program) @@\
@@\
AllTarget(ProgramTargetName(program)) @@\
@@\
CplusplusProgramTargetHelper(program,SRCS,OBJS,DEPLIBS,$(LOCAL_LIBRARIES),NullParameter) @@\
@@\
DependTarget() @@\
LintTarget() @@\
@@\
clean:: @@\
RemoveFile(ProgramTargetName(program))
#endif /* ComplexCplusplusProgramTarget */
/*
* IXX overrides to work with NT. The rules currently try to run UNIX-like
* tools though.
*/
#ifndef EditImplName
#define EditImplName(dep,name,interfaces,flags,tmp) @@\
filter:: dep @@\
dep:: interfaces @@\
@$(RM) tmp @@\
@echo "Editing" name @@\
@cat interfaces > __TMP__ @@\
$(IXCPP) __TMP__ $(CXXDEFINES) $(IXCPPINCLUDES) | \ @@\
$(IX) flags -filter name > tmp @@\
@mv tmp name @@\
$(RM) __TMP__
#endif
#ifndef MakeSchemaFlags
#define MakeSchemaFlags(schema_name,interfaces,type_ids_list,flags) @@\
filter:: type_ids.filter @@\
type_ids.filter:: type_ids_list @@\
@echo "Building" schema_name @@\
@cat interfaces schema_name type_ids_list > __TMP__ @@\
$(IXCPP) __TMP__ -DIX_SCHEMA $(CXXDEFINES) $(IXCPPINCLUDES) | \ @@\
$(IX) flags -schema schema_name-ix @@\
@mv ix-schema_name-ix schema_name @@\
@$(RM) __TMP__
#endif